Proximity switch assembly and method of tuning same

ABSTRACT

A proximity switch assembly and method for detecting activation of a proximity switch assembly and tuning the assembly. The assembly includes proximity switches each having a proximity sensor providing a sense activation field and control circuitry processing the activation field to sense activation. The method of tuning includes generating an activation field with a proximity sensor, generating a signal in response to the activation field, detecting noise associated with the signal, and adjusting a parameter based on the detected noise, wherein the parameter is used to detect a proximity state such as activation of the proximity switch.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 13/747,578, filed on Jan. 23, 2013, entitled “PROXIMITY SWITCH ASSEMBLY AND CALIBRATION METHOD THEREFOR,” now U.S. Pat. No. 9,287,864, which is a continuation-in-part of U.S. patent application Ser. No. 13/721,886, filed on Dec. 20, 2012, entitled “PROXIMITY SWITCH ASSEMBLY AND ACTIVATION METHOD USING RATE MONITORING,” now U.S. Pat. No. 9,219,472, which is a continuation-in-part of U.S. patent application Ser. No. 13/444,374, filed on Apr. 11, 2012, entitled “PROXIMITY SWITCH ASSEMBLY AND ACTIVATION METHOD.” The aforementioned related applications are hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention generally relates to switches, and more particularly relates to proximity switches having an enhanced determination of switch activation.

BACKGROUND OF THE INVENTION

Automotive vehicles are typically equipped with various user actuatable switches, such as switches for operating devices including powered windows, headlights, windshield wipers, moonroofs or sunroofs, interior lighting, radio and infotainment devices, and various other devices. Generally, these types of switches need to be actuated by a user in order to activate or deactivate a device or perform some type of control function. Proximity switches, such as capacitive switches, employ one or more proximity sensors to generate a sense activation field and sense changes to the activation field indicative of user actuation of the switch, typically caused by a user's finger in close proximity or contact with the sensor. Capacitive switches are typically configured to detect user actuation of the switch based on comparison of the sense activation field to a threshold.

Switch assemblies often employ a plurality of capacitive switches in close proximity to one another and generally require that a user select a single desired capacitive switch to perform the intended operation. In some applications, such as use in an automobile, the driver of the vehicle has limited ability to view the switches due to driver distraction. In such applications, it is desirable to allow the user to explore the switch assembly for a specific button while avoiding a premature determination of switch activation. Thus, it is desirable to discriminate whether the user intends to activate a switch, or is simply exploring for a specific switch button while focusing on a higher priority task, such as driving, or has no intent to activate a switch.

Capacitive switches may be manufactured using thin film technology in which a conductive ink mixed with a solvent is printed and cured to achieve an electrical circuit layout. Capacitive switches can be adversely affected by condensation. For example, as humidity changes, changes in condensation may change the capacitive signal. The change in condensation may be sufficient to trigger a faulty activation.

Accordingly, it is desirable to provide for a proximity switch arrangement which enhances the use of proximity switches by a person, such as a driver of a vehicle. It is further desirable to provide for a proximity switch arrangement that reduces or prevents false activations due to condensation events.

SUMMARY OF THE INVENTION

According to one aspect of the present invention, a method of tuning a proximity sensor is provided. The method includes the steps of generating an activation field with a proximity sensor and generating a signal in response to the activation field. The method also includes the steps of detecting noise associated with the signal and adjusting a parameter based on the detected noise, wherein the parameter is used to detect a proximity state.

According to another aspect of the present invention, a proximity sensor assembly is provided. The proximity sensor assembly includes a proximity sensor providing an activation field and generating a signal. The proximity sensor assembly also includes control circuitry generating a signal in response to the activation field, detecting noise associated with the signal, and adjusting a parameter based on the detected noise, wherein the parameter is used to detect a proximity state.

These and other aspects, objects, and features of the present invention will be understood and appreciated by those skilled in the art upon studying the following specification, claims, and appended drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIG. 1 is a perspective view of a passenger compartment of an automotive vehicle having an overhead console employing a proximity switch assembly, according to one embodiment;

FIG. 2 is an enlarged view of the overhead console and proximity switch assembly shown in FIG. 1;

FIG. 3 is an enlarged cross-sectional view taken through line III-III in FIG. 2 showing an array of proximity switches in relation to a user's finger;

FIG. 4 is a schematic diagram of a capacitive sensor employed in each of the capacitive switches shown in FIG. 3;

FIG. 5 is a block diagram illustrating the proximity switch assembly, according to one embodiment;

FIG. 6 is a graph illustrating the signal count for one channel associated with a capacitive sensor showing an activation motion profile;

FIG. 7 is a graph illustrating the signal count for two channels associated with the capacitive sensors showing a sliding exploration/hunting motion profile;

FIG. 8 is a graph illustrating the signal count for a signal channel associated with the capacitive sensors showing a slow activation motion profile;

FIG. 9 is a graph illustrating the signal count for two channels associated with the capacitive sensors showing a fast sliding exploration/hunting motion profile;

FIG. 10 is a graph illustrating the signal count for three channels associated with the capacitive sensors in an exploration/hunting mode illustrating a stable press activation at the peak, according to one embodiment;

FIG. 11 is a graph illustrating the signal count for three channels associated with the capacitive sensors in an exploration/hunting mode illustrating stable press activation on signal descent below the peak, according to another embodiment;

FIG. 12 is a graph illustrating the signal count for three channels associated with the capacitive sensors in an exploration/hunting mode illustrating increased stable pressure on a pad to activate a switch, according to a further embodiment;

FIG. 13 is a graph illustrating the signal count for three channels associated with the capacitive sensors in an exploration mode and selection of a pad based on increased stable pressure, according to a further embodiment;

FIG. 14 is a state diagram illustrating five states of the capacitive switch assembly implemented with a state machine, according to one embodiment;

FIG. 15 is a flow diagram illustrating a routine for executing a method of activating a switch of the switch assembly, according to one embodiment;

FIG. 16 is a flow diagram illustrating the processing of the switch activation and switch release;

FIG. 17 is a flow diagram illustrating logic for switching between the switch none and switch active states;

FIG. 18 is a flow diagram illustrating logic for switching from the active switch state to the switch none or switch threshold state;

FIG. 19 is a flow diagram illustrating a routine for switching between the switch threshold and switch hunting states;

FIG. 20 is a flow diagram illustrating a virtual button method implementing the switch hunting state;

FIG. 21 is a graph illustrating the signal count for a signal channel associated with a capacitive sensor experiencing condensation effects;

FIG. 22 is a graph illustrating the signal count for a signal channel associated with a capacitive sensor employing threshold based rate monitoring, according to one embodiment;

FIG. 23 is a flow diagram illustrating a routine for executing rate monitoring for enabling activation of a proximity switch, according to one embodiment;

FIG. 24 is a flow diagram illustrating an instant recalibration routine for quickly recalibrating the signal count, according to one embodiment;

FIG. 25 is a flow diagram illustrating a real-time calibration routine for providing ongoing drift compensation to the signal count, according to one embodiment;

FIGS. 26A and 26B are graphs illustrating one example of signal counts for a plurality of signal channels showing instant positive recalibration with the instant recalibration routine;

FIGS. 27A and 27B are graphs illustrating another example of signal counts for a plurality of channels illustrating negative recalibration with the instant recalibration routine;

FIG. 28 is a graph illustrating a signal channel having various levels of noise and adjusted or tuned threshold levels, according to one embodiment;

FIG. 29 is a graph illustrating a signal having noise and partial range estimates of the noise determined in a plurality of ranges, according to one embodiment;

FIG. 30 is a flow diagram illustrating a method of tuning a proximity sensor based on a noise estimate, according to one embodiment;

FIG. 31 is a flow diagram illustrating a method of determining a partial noise range estimate for tuning the proximity sensor; and

FIG. 32 is a flow diagram illustrating a method of estimating the noise based on the partial noise range estimates for use in tuning the proximity sensor.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to a detailed design; some schematics may be exaggerated or minimized to show function overview. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.

Referring to FIGS. 1 and 2, the interior of an automotive vehicle 10 is generally illustrated having a passenger compartment and a switch assembly 20 employing a plurality of proximity switches 22 having switch activation monitoring and determination and switch calibration, according to one embodiment. The vehicle 10 generally includes an overhead console 12 assembled to the headliner on the underside of the roof or ceiling at the top of the vehicle passenger compartment, generally above the front passenger seating area. The switch assembly 20 has a plurality of proximity switches 22 arranged close to one another in the overhead console 12, according to one embodiment. The various proximity switches 22 may control any of a number of vehicle devices and functions, such as controlling movement of a sunroof or moonroof 16, controlling movement of a moonroof shade 18, controlling activation of one or more lighting devices such as interior map/reading and dome lights 30, and various other devices and functions. However, it should be appreciated that the proximity switches 22 may be located elsewhere on the vehicle 10, such as in the dash panel, on other consoles such as a center console, integrated into a touch screen display 14 for a radio or infotainment system such as a navigation and/or audio display, or located elsewhere onboard the vehicle 10 according to various vehicle applications.

The proximity switches 22 are shown and described herein as capacitive switches, according to one embodiment. Each proximity switch 22 includes at least one proximity sensor that provides a sense activation field to sense contact or close proximity (e.g., within one millimeter) of a user in relation to the one or more proximity sensors, such as a swiping motion by a user's finger. Thus, the sense activation field of each proximity switch 22 is a capacitive field in the exemplary embodiment and the user's finger has electrical conductivity and dielectric properties that cause a change or disturbance in the sense activation field as should be evident to those skilled in the art. However, it should also be appreciated by those skilled in the art that additional or alternative types of proximity sensors can be used, such as, but not limited to, inductive sensors, optical sensors, temperatures sensors, resistive sensors, the like, or a combination thereof. Exemplary proximity sensors are described in the Apr. 9, 2009, ATMEL® Touch Sensors Design Guide, 10620 D-AT42-04/09, the entire reference hereby being incorporated herein by reference.

The proximity switches 22 shown in FIGS. 1 and 2 each provide control of a vehicle component or device or provide a designated control function. One or more of the proximity switches 22 may be dedicated to controlling movement of a sunroof or moonroof 16 so as to cause the moonroof 16 to move in an open or closed direction, tilt the moonroof, or stop movement of the moonroof based upon a control algorithm. One or more other proximity switches 22 may be dedicated to controlling movement of a moonroof shade 18 between open and closed positions. Each of the moonroof 16 and shade 18 may be actuated by an electric motor in response to actuation of the corresponding proximity switch 22. Other proximity switches 22 may be dedicated to controlling other devices, such as turning an interior map/reading light 30 on, turning an interior map/reading light 30 off, turning a dome lamp on or off, unlocking a trunk, opening a rear hatch, or defeating a door light switch. Additional controls via the proximity switches 22 may include actuating door power windows up and down. Various other vehicle controls may be controlled by way of the proximity switches 22 described herein.

Referring to FIG. 3, a portion of the proximity switch assembly 20 is illustrated having an array of three serially arranged proximity switches 22 in close relation to one another in relation to a user's finger 34 during use of the switch assembly 20. Each proximity switch 22 includes one or more proximity sensors 24 for generating a sense activation field. According to one embodiment, each of the proximity sensors 24 may be formed by printing conductive ink onto the top surface of the polymeric overhead console 12. One example of a printed ink proximity sensor 24 is shown in FIG. 4 generally having a drive electrode 26 and a receive electrode 28 each having interdigitated fingers for generating a capacitive field 32. It should be appreciated that each of the proximity sensors 24 may be otherwise formed such as by assembling a preformed conductive circuit trace onto a substrate according to other embodiments. The drive electrode 26 receives square wave drive pulses applied at voltage V_(I). The receive electrode 28 has an output for generating an output voltage V_(O). It should be appreciated that the electrodes 26 and 28 may be arranged in various other configurations for generating the capacitive field as the activation field 32.

In the embodiment shown and described herein, the drive electrode 26 of each proximity sensor 24 is applied with voltage input V_(I) as square wave pulses having a charge pulse cycle sufficient to charge the receive electrode 28 to a desired voltage. The receive electrode 28 thereby serves as a measurement electrode. In the embodiment shown, adjacent sense activation fields 32 generated by adjacent proximity switches 22 overlap slightly, however, overlap may not exist according to other embodiments. When a user or operator, such as the user's finger 34, enters an activation field 32, the proximity switch assembly 20 detects the disturbance caused by the finger 34 to the activation field 32 and determines whether the disturbance is sufficient to activate the corresponding proximity switch 22. The disturbance of the activation field 32 is detected by processing the charge pulse signal associated with the corresponding signal channel. When the user's finger 34 contacts two activation fields 32, the proximity switch assembly 20 detects the disturbance of both contacted activation fields 32 via separate signal channels. Each proximity switch 22 has its own dedicated signal channel generating charge pulse counts which is processed as discussed herein.

Referring to FIG. 5, the proximity switch assembly 20 is illustrated according to one embodiment. A plurality of proximity sensors 24 are shown providing inputs to a controller 40, such as a microcontroller. The controller 40 may include control circuitry, such as a microprocessor 42 and memory 48. The control circuitry may include sense control circuitry processing the activation field of each sensor 22 to sense user activation of the corresponding switch by comparing the activation field signal to one or more thresholds pursuant to one or more control routines. It should be appreciated that other analog and/or digital control circuitry may be employed to process each activation field, determine user activation, and initiate an action. The controller 40 may employ a QMatrix acquisition method available by ATMEL®, according to one embodiment. The ATMEL acquisition method employs a WINDOWS® host C/C++ compiler and debugger WinAVR to simplify development and testing the utility Hawkeye that allows monitoring in real-time the internal state of critical variables in the software as well as collecting logs of data for post-processing.

The controller 40 provides an output signal to one or more devices that are configured to perform dedicated actions responsive to correct activation of a proximity switch. For example, the one or more devices may include a moonroof 16 having a motor to move the moonroof panel between open and closed and tilt positions, a moonroof shade 18 that moves between open and closed positions, and lighting devices 30 that may be turned on and off Other devices may be controlled such as a radio for performing on and off functions, volume control, scanning, and other types of devices for performing other dedicated functions. One of the proximity switches 22 may be dedicated to actuating the moonroof closed, another proximity switch 22 may be dedicated to actuating the moonroof open, and a further switch 22 may be dedicated to actuating the moonroof to a tilt position, all of which would cause a motor to move the moonroof to a desired position. The moonroof shade 18 may be opened in response to one proximity switch 22 and may be closed responsive to another proximity switch 22.

The controller 40 is further shown having an analog to digital (A/D) comparator 44 coupled to the microprocessor 42. The A/D comparator 44 receives the voltage output V_(O) from each of the proximity switches 22, converts the analog signal to a digital signal, and provides the digital signal to the microprocessor 42. Additionally, controller 40 includes a pulse counter 46 coupled to the microprocessor 42. The pulse counter 46 counts the charge signal pulses that are applied to each drive electrode of each proximity sensor, performs a count of the pulses needed to charge the capacitor until the voltage output V_(O) reaches a predetermined voltage, and provides the count to the mimicroprocessor 42. The pulse count is indicative of the change in capacitance of the corresponding capacitive sensor. The controller 40 is further shown communicating with a pulse width modulated drive buffer 15. The controller 40 provides a pulse width modulated signal to the pulse width modulated drive buffer 15 to generate a square wave pulse train V_(I) which is applied to each drive electrode of each proximity sensor/switch 22. The controller 40 processes one or more control routines 100 stored in memory 48 to monitor and make a determination as to activation of one of the proximity switches. The control routines may include a routine for executing a method of activating a proximity switch using rate monitoring to reduce or eliminate adverse effects caused by condensation. The controller 40 further processes calibration routines 400 and 500 stored in memory 48 to calibrate and recalibrate the signal count to further reduce or eliminate adverse effects caused by condensation. The calibration routines may include an instant recalibration routine 400 and a real-time calibration routine 500, which may be considered as separate calibration modules, according to one embodiment. The calibration routines quickly calibrate the signals associated with the proximity switches when the adverse effects of condensation are present to quickly allow for activation of the proximity switches with delay due to minimal switch lockout.

In FIGS. 6-13, the change in sensor charge pulse counts shown as Δ sensor count for a plurality of signal channels associated with a plurality of proximity switches 22, such as the three switches 22 shown in FIG. 3, is illustrated according to various examples. The change in sensor charge pulse count is the difference between an initialized referenced count value without any finger or other object present in the activation field and the corresponding sensor reading. In these examples, the user's finger enters the activation fields 32 associated with each of three proximity switches 22, generally one sense activation field at a time with overlap between adjacent activation fields 32 as the user's finger moves across the array of switches. Channel 1 is the change (Δ) in sensor charge pulse count associated with a first capacitive sensor 24, channel 2 is the change in sensor charge pulse count associated with the adjacent second capacitive sensor 24, and channel 3 is the change in sensor charge pulse count associated with the third capacitive sensor 24 adjacent to the second capacitive sensor. In the disclosed embodiment, the proximity sensors 24 are capacitive sensors. When a user's finger is in contact with or close proximity of a sensor 24, the finger alters the capacitance measured at the corresponding sensor 24. The capacitance is in parallel to the untouched sensor pad parasitic capacitance, and as such, measures as an offset. The user or operator induced capacitance is proportional to the user's finger or other body part dielectric constant, the surface exposed to the capacitive pad, and is inversely proportional to the distance of the user's limb to the switch button. According to one embodiment, each sensor is excited with a train of voltage pulses via pulse width modulation (PWM) electronics until the sensor is charged up to a set voltage potential. Such an acquisition method charges the receive electrode 28 to a known voltage potential. The cycle is repeated until the voltage across the measurement capacitor reaches a predetermined voltage. Placing a user's finger on the touch surface of the switch 24 introduces external capacitance that increases the amount of charge transferred each cycle, thereby reducing the total number of cycles required for the measurement capacitance to reach the predetermined voltage. The user's finger causes the change in sensor charge pulse count to increase since this value is based on the initialized reference count minus the sensor reading.

The proximity switch assembly 20 is able to recognize the user's hand motion when the hand, particularly a finger, is in close proximity to the proximity switches 22, to discriminate whether the intent of the user is to activate a switch 22, explore for a specific switch button while focusing on higher priority tasks, such as driving, or is the result of a task such as adjusting the rearview mirror that has nothing to do with actuation of a proximity switch 22. The proximity switch assembly 20 may operate in an exploration or hunting mode which enables the user to explore the keypads or buttons by passing or sliding a finger in close proximity to the switches without triggering an activation of a switch until the user's intent is determined. The proximity switch assembly 20 monitors amplitude of a signal generated in response to the activation field, determines a differential change in the generated signal, and generates an activation output when the differential signal exceeds a threshold. As a result, exploration of the proximity switch assembly 20 is allowed, such that users are free to explore the switch interface pad with their fingers without inadvertently triggering an event, the interface response time is fast, activation happens when the finger contacts a surface panel, and inadvertent activation of the switch is prevented or reduced.

Referring to FIG. 6, as the user's finger 34 approaches a switch 22 associated with signal channel 1, the finger 34 enters the activation field 32 associated with the sensor 24 which causes disruption to the capacitance, thereby resulting in a sensor count increase as shown by signal 50A having a typical activation motion profile. An entry ramp slope method may be used to determine whether the operator intends to press a button or explore the interface based on the slope of the entry ramp in signal 50A of the channel 1 signal rising from point 52 where signal 50A crosses the level active (LVL_ACTIVE) count up to point 54 where signal 50A crosses the level threshold (LVL_THRESHOLD) count, according to one embodiment. The slope of the entry ramp is the differential change in the generated signal between points 52 and 54 which occurred during the time period between times t_(th) and t_(ac). Because the numerator level threshold-level active generally changes only as the presence of gloves is detected, but is otherwise a constant, the slope can be calculated as just the time expired to cross from level active to level threshold referred to as t_(active2threshold) which is the difference between time t_(th) and t_(ac). A direct push on a switch pad typically may occur in a time period referred to t_(directpush) in the range of about 40 to 60 milliseconds. If the time t_(active2threshold) is less than or equal to the direct push time t_(directpush), then activation of the switch is determined to occur. Otherwise, the switch is determined to be in an exploration mode.

According to another embodiment, the slope of the entry ramp may be computed as the difference in time from the time t_(ac) at point 52 to time t_(pk) to reach the peak count value at point 56, referred to as time t_(active2peak). The time t_(active2peak). may be compared to a direct push peak, referred to as t_(direct) _(_) _(push) _(_) _(pk) which may have a value of 100 milliseconds according to one embodiment. If time t_(active2peak) is less than or equal to the t_(direct) _(_) _(push) _(_) _(pk) activation of the switch is determined to occur. Otherwise, the switch assembly operates in an exploration mode.

In the example shown in FIG. 6, the channel 1 signal is shown increasing as the capacitance disturbance increases rising quickly from point 52 to peak value at point 56. The proximity switch assembly 20 determines the slope of the entry ramp as either time period t_(active2threshold) or t_(active2peak) for the signal to increase from the first threshold point 52 to either the second threshold at point 54 or the peak threshold at point 56. The slope or differential change in the generated signal is then used for comparison with a representative direct push threshold t_(direct) _(_) _(push) or t_(direct) _(_) _(push) _(_) _(pk) to determine activation of the proximity switch. Specifically, when time t_(active2peak) is less than the t_(direct) _(_) _(push) or t_(active2threshold) is less than t_(direct) _(_) _(push), activation of the switch is determined. Otherwise, the switch assembly remains in the exploration mode.

Referring to FIG. 7, one example of a sliding/exploration motion across two switches is illustrated as the finger passes or slides through the activation field of two adjacent proximity sensors shown as signal channel 1 labeled 50A and signal channel 2 labeled 50B. As the user's finger approaches a first switch, the finger enters the activation field associated with the first switch sensor causing the change in sensor count on signal 50A to increase at a slower rate such that a lessened differential change in the generated signal is determined. In this example, the profile of signal channel 1 experiences a change in time t_(active2peak) that is not less than or equal to t_(direct) _(_) _(push), thereby resulting in entering the hunting or exploration mode. Because the t_(active2threshold) is indicative of a slow differential change in the generated signal, no activation of the switch button is initiated, according to one embodiment. According to another embodiment, because the time t_(active2peak) is not less than or equal to t_(direct) _(_) _(push) _(_) _(pk), indicative of a slow differential change in a generated signal, no activation is initiated, according to another embodiment. The second signal channel labeled 50B is shown as becoming the maximum signal at transition point 58 and has a rising change in Δ sensor count with a differential change in the signal similar to that of signal 50A. As a result, the first and second channels 50A and 50B reflect a sliding motion of the finger across two capacitive sensors in the exploration mode resulting in no activation of either switch. Using the time period t_(active2threshold) or t_(active2peak), a decision can be made to activate or not a proximity switch as its capacitance level reaches the signal peak.

For a slow direct push motion such as shown in FIG. 8, additional processing may be employed to make sure that no activation is intended. As seen in FIG. 8, the signal channel 1 identified as signal 50A is shown more slowly rising during either time period t_(active2threshold) or t_(active2peak) which would result in the entering of the exploration mode. When such a sliding/exploration condition is detected, with the time t_(active2threshold) greater than t_(direct) _(_) _(push) if the channel failing the condition was the first signal channel entering the exploration mode and it is still the maximum channel (channel with the highest intensity) as its capacitance drops below LVL_KEYUP_Threshold at point 60, then activation of the switch is initiated.

Referring to FIG. 9, a fast motion of a user's finger across the proximity switch assembly is illustrated with no activation of the switches. In this example, the relatively large differential change in the generated signal for channels 1 and 2 are detected, for both channels 1 and 2 shown by lines 50A and 50B, respectively. The switch assembly employs a delayed time period to delay activation of a decision until the transition point 58 at which the second signal channel 50B rises above the first signal channel 50A. The time delay could be set equal to time threshold t_(direct) _(_) _(push) _(_) _(pk) according to one embodiment. Thus, by employing a delay time period before determining activation of a switch, the very fast exploration of the proximity keypads prevents an unintended activation of a switch. The introduction of the time delay in the response may make the interface less responsive and may work better when the operator's finger motion is substantially uniform.

If a previous threshold event that did not result in activation was recently detected, the exploration mode may be entered automatically, according to one embodiment. As a result, once an inadvertent actuation is detected and rejected, more caution may be applied for a period of time in the exploration mode.

Another way to allow an operator to enter the exploration mode is to use one or more properly marked and/or textured areas or pads on the switch panel surface associated with the dedicated proximity switches with the function of signaling the proximity switch assembly of the intent of the operator to blindly explore. The one or more exploration engagement pads may be located in an easy to reach location not likely to generate activity with other signal channels. According to another embodiment, an unmarked, larger exploration engagement pad may be employed surrounding the entire switch interface. Such an exploration pad would likely be encountered first as the operator's hand slides across the trim in the overhead console looking for a landmark from which to start blind exploration of the proximity switch assembly.

Once the proximity sensor assembly determines whether an increase in the change in sensor count is a switch activation or the result of an exploration motion, the assembly proceeds to determine whether and how the exploration motion should terminate or not in an activation of proximity switch. According to one embodiment, the proximity switch assembly looks for a stable press on a switch button for at least a predetermined amount of time. In one specific embodiment, the predetermined amount of time is equal to or greater than 50 milliseconds, and more preferably about 80 milliseconds. Examples of the switch assembly operation employing a stable time methodology is illustrated in FIGS. 10-13.

Referring to FIG. 10, the exploration of three proximity switches corresponding to signal channels 1-3 labeled as signals 50A-50C, respectively, is illustrated while a finger slides across first and second switches in the exploration mode and then activates the third switch associated with signal channel 3. As the finger explores the first and second switches associated with channels 1 and 2, no activation is determined due to no stable signal on lines 50A and 50B. The signal on line 50A for channel 1 begins as the maximum signal value until channel 2 on line 50B becomes the maximum value and finally channel 3 becomes a maximum value. Signal channel 3 is shown having a stable change in sensor count near the peak value for a sufficient time period t_(stable) such as 80 milliseconds which is sufficient to initiate activation of the corresponding proximity switch. When the level threshold trigger condition has been met and a peak has been reached, the stable level method activates the switch after the level on the switch is bound in a tight range for at least the time period t_(stable). This allows the operator to explore the various proximity switches and to activate a desired switch once it is found by maintaining position of the user's finger in proximity to the switch for a stable period of time t_(stable).

Referring to FIG. 11, another embodiment of the stable level method is illustrated in which the third signal channel on line 50C has a change in sensor count that has a stable condition on the descent of the signal. In this example, the change in sensor count for the third channel exceeds the level threshold and has a stable press detected for the time period t_(stable) such that activation of the third switch is determined.

According to another embodiment, the proximity switch assembly may employ a virtual button method which looks for an initial peak value of change in sensor count while in the exploration mode followed by an additional sustained increase in the change in sensor count to make a determination to activate the switch as shown in FIGS. 12 and 13. In FIG. 12, the third signal channel on line 50C rises up to an initial peak value and then further increases by a change in sensor count C_(vb). This is equivalent to a user's finger gently brushing the surface of the switch assembly as it slides across the switch assembly, reaching the desired button, and then pressing down on the virtual mechanical switch such that the user's finger presses on the switch contact surface and increases the amount of volume of the finger closer to the switch. The increase in capacitance is caused by the increased surface of the fingertip as it is compressed on the pad surface. The increased capacitance may occur immediately following detection of a peak value shown in FIG. 12 or may occur following a decline in the change in sensor count as shown in FIG. 13. The proximity switch assembly detects an initial peak value followed by a further increased change in sensor count indicated by capacitance C_(vb) at a stable level or a stable time period t_(stable). A stable level of detection generally means no change in sensor count value absent noise or a small change in sensor count value absent noise which can be predetermined during calibration.

It should be appreciated that a shorter time period t_(stable) may result in accidental activations, especially following a reversal in the direction of the finger motion and that a longer time period t_(stable) may result in a less responsive interface.

It should also be appreciated that both the stable value method and the virtual button method can be active at the same time. In doing so, the stable time t_(stable) can be relaxed to be longer, such as one second, since the operator can always trigger the button using the virtual button method without waiting for the stable press time-out.

The proximity switch assembly may further employ robust noise rejection to prevent annoying inadvertent actuations. For example, with an overhead console, accidental opening and closing of the moonroof should be avoided. Too much noise rejection may end up rejecting intended activations, which should be avoided. One approach to rejecting noise is to look at whether multiple adjacent channels are reporting simultaneous triggering events and, if so, selecting the signal channel with the highest signal and activating it, thereby ignoring all other signal channels until the release of the select signal channel.

The proximity switch assembly 20 may include a signature noise rejection method based on two parameters, namely a signature parameter that is the ratio between the channel between the highest intensity (max_channel) and the overall cumulative level (sum_channel), and the dac parameter which is the number of channels that are at least a certain ratio of the max_channel. In one embodiment, the dac α_(dac)=0.5. The signature parameter may be defined by the following equation:

$\begin{matrix} {{signature} = \frac{max\_ channel}{sum\_ channel}} \\ {= {\frac{\max_{{i = 0},n}{channel}_{i}}{\sum\limits_{{i = 0},n}^{\;}{channel}_{i}}.}} \end{matrix}$

The dac parameter may be defined by the following equation: dac=∀channels_(i)>α_(dac) max_channel.

Depending on dac, for a recognized activation not to be rejected, the channel generally must be clean, i.e., the signature must be higher than a predefined threshold. In one embodiment, α_(dac=1)=0.4, and α_(dac=2)=0.67. If the dac is greater than 2, the activation is rejected according to one embodiment.

When a decision to activate a switch or not is made on the descending phase of the profile, then instead of max_channel and sum_channel their peak values peak_max_channel and peak_sum_channel may be used to calculate the signature. The signature may have the following equation:

$\begin{matrix} {{signature} = \frac{{peak\_ max}{\_ channel}}{{peak\_ sum}{\_ channel}}} \\ {= {\frac{\max\left( {{max\_ channel}(t)} \right)}{\max\left( {{sum\_ channel}(t)} \right)}.}} \end{matrix}$

A noise rejection triggers hunting mode may be employed. When a detected activation is rejected because of a dirty signature, the hunting or exploration mode should be automatically engaged. Thus, when blindly exploring, a user may reach with all fingers extended looking to establish a reference frame from which to start hunting. This may trigger multiple channels at the same time, thereby resulting in a poor signature.

Referring to FIG. 14, a state diagram is shown for the proximity switch assembly 20 in a state machine implementation, according to one embodiment. The state machine implementation is shown having five states including SW_NONE state 70, SW_ACTIVE state 72, SW_THRESHOLD state 74, SW_HUNTING state 76 and SWITCH_ACTIVATED state 78. The SW_NONE state 70 is the state in which there is no sensor activity detected. The SW_ACTIVE state is the state in which some activity is detected by the sensor, but not enough to trigger activation of the switch at that point in time. The SW_THRESHOLD state is the state in which activity as determined by the sensor is high enough to warrant activation, hunting/exploration, or casual motion of the switch assembly. The SW_HUNTING state 76 is entered when the activity pattern as determined by the switch assembly is compatible with the exploration/hunting interaction. The SWITCH_ACTIVATED state 78 is the state in which activation of a switch has been identified. In the SWITCH_ACTIVATED state 78, the switch button will remain active and no other selection will be possible until the corresponding switch is released.

The state of the proximity switch assembly 20 changes depending upon the detection and processing of the sensed signals. When in the SW_NONE state 70, the system 20 may advance to the SW_ACTIVE state 72 when some activity is detected by one or more sensors. If enough activity to warrant either activation, hunting or casual motion is detected, the system 20 may proceed directly to the SW_THRESHOLD state 74. When in the SW_THRESHOLD state 74, the system 20 may proceed to the SW_HUNTING state 76 when a pattern indicative of exploration is detected or may proceed directly to switch activated state 78. When a switch activation is in the SW_HUNTING state, an activation of the switch may be detected to change to the SWITCH_ACTIVATED state 78. If the signal is rejected and inadvertent action is detected, the system 20 may return to the SW_NONE state 70.

Referring to FIG. 15, the main method 100 of monitoring and determining when to generate an activation output with the proximity switch arrangement is shown, according to one embodiment. Method 100 begins at step 102 and proceeds to step 104 to perform an initial calibration which may be performed once. The calibrated signal channel values are computed from raw channel data and calibrated reference values by subtracting the reference value from the raw data in step 106. Next, at step 108, from all signal channel sensor readings, the highest count value referenced as max_channel and the sum of all channel sensor readings referred to as sum_channel are calculated. In addition, the number of active channels is determined. At step 110, method 100 calculates the recent range of the max_channel and the sum_channel to determine later whether motion is in progress or not.

Following step 110, method 100 proceeds to decision step 112 to determine if any of the switches are active. If no switch is active, method 100 proceeds to step 114 to perform an online real-time calibration, and then to step 115 to process an instant recalibration. The instant recalibration may be used to quickly initialize and calibrate the proximity switches at start up and instantaneously recalibrates the signal count when the signal is stuck either high or low. This includes both an immediate positive recalibration and an immediate negative recalibration. The process real-time calibration step 114 provides a slower ongoing drift compensation to provide continuous drift compensation which may include an ultra-fast drift compensation, a drift compensation lock, and no double compensation processing. Otherwise, method 116 processes the switch release at step 116. Accordingly, if a switch was already active, then method 100 proceeds to a module where it waits and locks all activity until its release.

Following the real-time calibration, method 100 proceeds to decision step 118 to determine if there is any channel lockout indicative of recent activation and, if so, proceeds to step 120 to decrease the channel lockout timer. If there are no channel lockouts detected, method 100 proceeds to decision step 122 to look for a new max_channel. If the current max_channel has changed such that there is a new max_channel, method 100 proceeds to step 124 to reset the max_channel, sum the ranges, and set the threshold levels. Thus, if a new max_channel is identified, the method resets the recent signal ranges, and updates, if needed, the hunting/exploration parameters. If the switch_status is less than SW_ACTIVE, then the hunting/exploration flag is set equal to true and the switch status is set equal to SW_NONE. In addition, step 124, the rate flag is reset. Additionally, the rate flag is reset in step 124. Following step 124, routine 100 proceeds to step 131 to update the rate flag. The rate flag enables activation of the switch when the monitored rate of change of the Δ signal count, such as an average rate of change, exceeds a valid activation rate, thereby preventing false activations due to changes in condensation. When the rate flag is set, activation of the switch is allowed. When the rate flag is not set, activation of the switch is prevented.

If the current max_channel has not changed, method 100 proceeds to step 126 to process the max_channel naked (no glove) finger status. This may include processing the logic between the various states as shown in the state diagram of FIG. 14. Following step 126, method 100 proceeds to decision step 128 to determine if any switch is active. If no switch activation is detected, method 100 proceeds to step 130 to detect a possible glove presence on the user's hand. The presence of a glove may be detected based on a reduced change in capacitance count value. Method 100 then proceeds to step 131 to update the rate flag and then proceeds to step 132 to update the past history of the max_channel and sum_channel. The index of the active switch, if any, is then output to the software hardware module at step 134 before ending at step 136.

When a switch is active, a process switch release routine is activated which is shown in FIG. 16. The process switch release routine 116 begins at step 140 and proceeds to decision step 142 to determine if the active channel is less than LVL_RELEASE and, if so, ends at step 152. If the active channel is less than the LVL_RELEASE then routine 116 proceeds to decision step 144 to determine if the LVL_DELTA_THRESHOLD is greater than 0 and, if not, proceeds to step 146 to raise the threshold level if the signal is stronger. This may be achieved by decreasing LVL_DELTA_THRESHOLD. Step 146 also sets the threshold, release and active levels. Routine 116 then proceeds to step 148 to reset the channel max and sum history timer for long stable signal hunting/exploration parameters. The switch status is set equal to SW_NONE at step 150 before ending at step 152. To exit the process switch release module, the signal on the active channel has to drop below LVL_RELEASE, which is an adaptive threshold that will change as glove interaction is detected. As the switch button is released, all internal parameters are reset and a lockout timer is started to prevent further activations before a certain waiting time has elapsed, such as 100 milliseconds. Additionally, the threshold levels are adapted in function of the presence of gloves or not.

Referring to FIG. 17, a routine 200 for determining the status change from SW_NONE state to SW_ACTIVE state is illustrated, according to one embodiment. Routine 200 begins at step 202 to process the SW_NONE state, and then proceeds to decision step 204 to determine if the max_channel is greater than LVL_ACTIVE. If the max_channel is greater than LVL_ACTIVE, then the proximity switch assembly changes state from SW_NONE state to SW_ACTIVE state and ends at step 210. If the max_channel is not greater than LVL_ACTIVE, the routine 200 checks for whether to reset the hunting flag at step 208 prior to ending at step 210. Thus, the status changes from SW_NONE state to SW_ACTIVE state when the max_channel triggers above LVL_ACTIVE. If the channels stays below this level, after a certain waiting period, the hunting flag, if set, gets reset to no hunting, which is one way of departing from the hunting mode.

Referring to FIG. 18, a method 220 for processing the state of the SW_ACTIVE state changing to either SW_THRESHOLD state or SW_NONE state is illustrated, according to one embodiment. Method 220 begins at step 222 and proceeds to decision step 224. If max_channel is not greater than LVL_THRESHOLD, then method 220 proceeds to step 226 to determine if the max_channel is less than LVL_ACTIVE and, if so, proceeds to step 228 to change the switch status to SW_NONE. Accordingly, the status of the state machine moves from the SW_ACTIVE state to SW_NONE state when the max_channel signal drops below LVL_ACTIVE. A delta value may also be subtracted from LVL_ACTIVE to introduce some hysteresis. If the max_channel is greater than the LVL_THRESHOLD, then routine 220 proceeds to decision step 230 to determine if a recent threshold event or a glove has been detected and, if so, sets the hunting on flag equal to true at step 232. At step 234, method 220 switches the status to SW_THRESHOLD state before ending at step 236. Thus, if the max_channel triggers above the LVL_THRESHOLD, the status changes to SW_THRESHOLD state. If gloves are detected or a previous threshold event that did not result in activation was recently detected, then the hunting/exploration mode may be entered automatically.

Referring to FIG. 19, a method 240 of determining activation of a switch from the SW_THRESHOLD state is illustrated, according to one embodiment. Method 240 begins at step 242 to process the SW_THRESHOLD state and proceeds to decision block 244 to determine if the signal is stable or if the signal channel is at a peak and, if not, ends at step 256. If either the signal is stable or the signal channel is at a peak, then method 240 proceeds to decision step 246 to determine if the hunting or exploration mode is active and, if so, skips to step 250. If the hunting or exploration mode is not active, method 240 proceeds to decision step 248 to determine if the signal channel is clean and fast active is greater than a threshold and, if so, proceeds to decision step 249 to determine if the rate flag is set and, if so, sets the switch active equal to the maximum channel at step 250. If the signal channel is not clean and fast active is not greater than the threshold, method 240 proceeds directly to step 252. Similarly, if the rate flag is not set, method 240 proceeds directly to step 252. At decision block 252, method 240 determines if there is a switch active and, if so, ends at step 256. If there is no switch active, method 240 proceeds to step 254 to initialize the hunting variables SWITCH_STATUS set equal to SWITCH_HUNTING and PEAK_MAX_BASE equal to MAX_CHANNELS, prior to ending at step 256.

In the SW_THRESHOLD state, no decision is taken until a peak in MAX_CHANNEL is detected. Detection of the peak value is conditioned on either a reversal in the direction of the signal, or both the MAX_CHANNEL and SUM_CHANNEL remaining stable (bound in a range) for at least a certain interval, such as 60 milliseconds. Once the peak is detected, the hunting flag is checked. If the hunting mode is off, the entry ramp slope method is applied. If the SW_ACTIVE to SW_THRESHOLD was less than a threshold such as 16 milliseconds, and the signature of noise rejection method indicates it as a valid triggering event, it proceeds to step 249, otherwise it skips to step 252. At step 249, if the rate flag is set, then the state is changed to SWITCH_ACTIVE and the process is transferred to the PROCESS_SWITCH_RELEASE module, otherwise the hunting flag is set equal to true. If the delayed activation method is employed instead of immediately activating the switch, the state is changed to SW_DELAYED_ACTIVATION where a delay is enforced at the end of which, if the current MAX_CHANNEL index has not changed, the button is activated.

Referring to FIG. 20, a virtual button method implementing the SW_HUNTING state is illustrated, according to one embodiment. The method 260 begins at step 262 to process the SW_HUNTING state and proceeds to decision step 264 to determine if the MAX_CHANNEL has dropped below the LVL_KEYUP_THRESHOLD and, if so, sets the MAX_PEAK_BASE equal to MIN (MAX_PEAK_BASE, MAX_CHANNEL) at step 272. If the MAX_CHANNEL has dropped below the LVL_KEYUP_THRESHOLD, then method 260 proceeds to step 266 to employ the first channel triggering hunting method to check whether the event should trigger the button activation. This is determined by determining if the first and only channel is traversed and the signal is clean. If so, method 260 proceeds to decision step 269 to determine if the rate flag is set and, if so, sets the switch active equal to the maximum channel at step 270, and sets the skip calibration flag at step 271, and sets the skip calibration timer equal to NS at step 273 before ending at step 282. If the rate flag is not set, method 260 ends at step 282. If the first and only channel is not traversed or if the signal is not clean, method 260 proceeds to step 268 to give up and determine an inadvertent actuation and to set the SWITCH_STATUS equal to SW_NONE state before ending at step 282.

Following step 272, method 260 proceeds to decision step 274 to determine if the channel clicked. This can be determined by whether MAX_CHANNEL is greater than MAX_PEAK_BASE plus delta. If the channel has clicked, method 260 proceeds to decision step 276 to determine if the signal is stable and clean and, if so, proceeds to decision step 279 to determine if the rate flag is set and, if so, sets the switch active state to the maximum channel at step 280 before ending at step 282. If the channel has not clicked, method 260 proceeds to decision step 278 to see if the signal is long, stable and clean and, if so, proceeds to decision step 279 to determine if the rate flag is set and, if so, proceeds to step 280 to set the switch active equal to the maximum channel, sets the skip calibration step at step 271, sets the skip calibration timer equal to NS at step 273, and then ends at step 282. If the rate flag is not set, method 260 ends at step 282.

Accordingly, the proximity switch monitoring and determination routine advantageously determines activation of the proximity switches. The routine advantageously allows for a user to explore the proximity switch pads which can be particularly useful in an automotive application where driver distraction can be avoided.

The proximity sensors may be manufactured using thin film technology which may include printing a conductive ink mixed with a solvent to achieve a desired electrical circuit layout. The printed ink may be formed into a sheet which is cured in a curing process using controlled heating and light/heat strobing to remove the solvent. Variations in existing curing processes may result in residual solvent trapped in the electrical traces which may result in sensors that are sensitive to changes in temperature and humidity. As condensation builds up on a proximity sensor, the raw capacitive signal and the Δ signal count may change. The condensation buildup may occur in a vehicle, for example, when driving in a rain storm prior to turning on the defroster or when entering the vehicle in a hot, humid summer day and the HVAC fan blows humidity onto the switches. Likewise, as condensation dries up, the raw capacitive signal and the Δ signal count may change in the opposite direction. One example of a Δ signal count variation during a change in condensation is shown in FIG. 21. The signal 50 is shown increasing in value as a result of a changing condensation, such as a reduction in condensation, which may trigger a false activation event if the signal 50 reaches a particular threshold value. The Δ sensor count signal 50 may decrease similarly when condensation is increased which may also result in the triggering of a false activation event. In order to compensate for condensation and prevent or reduce false activations, the proximity switch assembly 20 and method 100 employ a rate monitoring routine to determine valid switch activations from faulty condensation events, and also employs one or more calibration routines to minimize adverse effects such as those caused by changes in condensation.

Referring to FIG. 22, the Δ signal count signal 50 is illustrated during a potential switch activation and having a particular signal sampling rate with successive acquired signal samples. The signal samples include the current signal sample C₀, the previously monitored signal sample C⁻¹, the next previously monitored signal sample C⁻², and the next previously monitored signal sample C⁻³. As a result, a history of samples of Δ sensor count signals 50 are monitored and employed by the rate monitoring routine. The rate monitoring routine monitors amplitude of a signal generated in response to the activation field, determines a rate of change in the generated signal, compares the rate of change to a threshold rate and generates an output based on the rate of change exceeding the threshold rate. The generated output is then employed by a method of activating a proximity sensor. In one embodiment, the rate flag enables activation of the proximity switch when set and prevents activation of the proximity switch when the rate flag is not set. The rate of change may be a moving average rate of change taken over more than two signal samples such as samples C₀-C⁻³. To eliminate or remove noise from the signal rise estimate, the moving average may be computed such as by a low pass filter to enable activation of the sensor and prevent false activation due to condensation. The moving average may be computed by computing a difference between a first count signal and a second count signal, wherein the first and second count values are taken over a time period including more than two samples. In addition, the rate monitoring routine may determine incremental rate of change values between successive signal samples such as samples C₀ and C⁻¹ and further compare the successive rate of change values to a step rate threshold, wherein the activation output is generated when the successive rate of change signals exceed the step rate threshold. Further, the rate of change in the generated signal may be the difference between two successive signal counts such as samples C⁻⁰ and C⁻¹ compared to a fast activation rate, according to one embodiment. It is generally known that condensation will rise at a rate slower than an activation by a user such that slower rates of activation are prevented from activating the sensor when the threshold determination value is reached due to condensation.

The rate monitoring routine 300 is shown in FIG. 23 implemented as an update rate flag routine beginning at step 302. Routine 300 proceeds to decision step 304 to calculate the difference between the current maximum Δ sensor count value MAX_CH(t) and a prior determined maximum Δ sensor count value MAX_CH(t−3) and determine whether the calculated difference is greater than a valid activation rate. The difference between the maximum Δ sensor count values over a plurality of signal samples, such as four samples C₀-C⁻³ are taken at successive sampling times t, t−1, t−2 and t−3. As such, the difference provides a moving average of the Δ sensor count. If the moving average is greater than the activation rate, then method 300 proceeds to decision step 306. At decision step 306, routine 300 compares each of the incremental change in maximum Δ sensor count signals MAX_CH(t) between successive monitored samples and compares the incremental differences to a step rate value. This includes comparing the current maximum channel signal MAX_CH(t) to the prior maximum channel signal MAX_CH(t−1) to see if the difference is greater than the step rate, comparing the prior maximum channel signal MAX_CH(t−1) to the second prior maximum channel signal MAX_CH (t−2) to see if the difference is greater than the step rate, and comparing the second prior maximum channel signal MAX_CH(t−2) to the third prior maximum channel signal MAX_CH(t−3) to see if the difference is greater than the step rate. If the differences in each of the incremental signal channels are greater than the step rate value, then method 300 proceeds to step 310 to set the rate flag before ending at step 312. If any of the differences in incremental signal channels is not greater than the step rate value, then routine 300 ends at step 312. Once the rate flag is set, the monitoring routine is enabled to activate a sensor output. Setting of the rate flag reduces or eliminates false activations that may be due to condensation effects.

Routine 300 includes decision step 308 which is implemented if the difference in the Δ sensor count value does not exceed the valid activation rate. Decision step 308 compares the difference of the current maximum channel signal MAX_CH(t) to the prior maximum channel signal MAX_CH(t−1) to a valid fast activation rate. If the difference exceeds the valid fast activation rate, method 300 proceeds to set the rate flag at step 310. Decision step 308 allows for a rapidly increasing difference in the Δ sensor count for the current signal sample from the prior signal sample to enable activation and ignores the prior sample history. Thus, the rate flag is set if the difference between the two most recent Δ sensor count value indicates a very fast rate.

In one embodiment, the valid activation rate may be set at a value of 50 counts, the step rate may be set at a value of 1 count, and the valid fast activation rate may be set at a value of 100 counts. As a result, the valid fast activation rate is about two times greater than the valid activation rate, according to one embodiment. The valid fast activation rate is greater than the valid activation rate. However, it should be appreciated that the valid activation rate, the valid fast activation rate and the step rate may be set at different values according to other embodiments.

The rate monitoring routine 300 monitors the maximum signal channel value and sets or resets the rate flag for the maximum signal channel, according to the embodiment shown. By monitoring the maximum signal channel, the signal most likely to have an activation is continually monitored and used to enable the rate flag to minimize the effects of condensation. It should be appreciated that any of the signal channels, other than the maximum signal channel, may be monitored according to other embodiments. The rate monitoring routine 300 sets and resets the rate flag for the maximum signal channel, however, the rate monitoring routine 300 may set and reset the rate flag for other signal channels in addition to the maximum signal channel, according to further embodiments. It should further be appreciated that the sampling rate for acquiring Δ count signal samples may vary. A faster sampling rate will provide increased speed for determining an activation and identifying the presence of condensation. The signal monitoring may be continuous, and noise filtering may be employed to eliminate noise.

Accordingly, the rate monitoring routine 300 monitors the rate of change of the Δ sensor count and enables activation of a switch provided that the rate is of a sufficient value. This enables the avoidance of false activations due to condensation and other potential effects. The proximity switch assembly is thereby able to generate an output signal indicative of switch activation based on the rate flag being set and prevent activation when the rate flag is not set.

The rate monitoring routine advantageously reduces or eliminates faulty activations caused by condensation. However, as the signal count rises or drops as condensation events occur, the proximity switches may become unresponsive until ongoing drift compensation brings the signal count back to zero again. Conventional calibration routines typically are generally slow at compensating for condensation effects, and hence result in undue time delay during which the proximity switches may not be activated and are essentially locked out. To reduce the lockout period, an advanced calibration routine may be employed to recalibrate the Δ sensor count signals for each proximity switch. The calibration routine may be employed with or without the rate monitoring routine 300 to advantageously minimize the effects of condensation and minimize any lockout time.

The calibration routine includes an on-going calibration routine that compensates for drift by slowly pulling the signal count back to a predefined value, which is a value of zero, according to one embodiment. During the calibration phase, the proximity switch assembly generally may be locked out and unresponsive to touch by a user, and hence not able to activate one or more switches. The calibration routine further includes an instant recalibration and initializes and calibrates the proximity switches at startup and instantaneously re-calibrates the Δ sensor count signal when the signal is stuck either high or low.

The instant recalibration includes an immediate positive recalibration and an immediate negative recalibration. The immediate positive recalibration occurs after the largest signal channel is above a too high first threshold for a first time period, such as 4 consecutive seconds, and after the largest signal channel reaches its peak value. All signal channels that are positive are instantaneously recalibrated to a predefined value, such as a value of zero, according to one embodiment. Waiting for the peak of the maximum signal prevents a situation in which a quick succession of instant recalibration results in signal spike.

The immediate negative recalibration occurs after all signals are negative, with the lowest signal being below a too low second threshold for a second time period, such as 1 consecutive second, and after the lowest signal channel has reached its bottom. All signal channels are instantly recalibrated to a predefined value, such as zero, according to one embodiment. Waiting for the bottom of the lowest channel prevents a situation in which a quick succession of instant recalibration results in a signal spike.

The ongoing real-time calibration performs continuous drift compensation to stay ahead of condensation shifts and may include one or more of the following features. The ongoing drift compensation may include an ultra-fast drift compensation in which the compensation rate is close to a typical activation, according to one embodiment. According to one example, the compensation drift may be set to 100 counts per second, with a typical activation generating a signal with 200 Δ sensor counts in about half a second. The increase in drift compensation advantageously eliminates problems, such as hidden switches, potential activation of deep field sensors, such as dome lamps by moving a user's hand in proximity without touching, and cutting the lockout time induced by severe compensation events to a minimum time period such as less than 5 seconds.

The ongoing drift compensation further employs a drift compensation lock to prevent situations in which an operator more slowly lingers while hunting for a switch which may make the system unresponsive. The drift compensation lock temporarily stops drift compensation when a fast-rise signal is detected. To prevent drift compensation to lock indefinitely, a countdown timer may be employed to reactivate drift compensation. To reactivate drift compensation lock after the 4 second countdown, the largest signal has to drop to zero first and then rise again. Drift compensation may also be stopped when a switch is activated. If a switch is deemed stuck in the active state, an instant recalibration may occur immediately and the switch may be deactivated.

The ongoing drift compensation routine may further employ a no double compensation subroutine to prevent compensation overshoot. Drift compensation may be suspended for individual signal channels if the Δ sensor count signal for the channel is already moving towards zero faster than the drift compensation would achieve. This prevents the signal channel from overshooting the recalibration value of zero as the ultra-fast drift compensation occurs.

The processing of the instant recalibration routine 400 is illustrated in FIG. 24, beginning at step 402. Routine 400 proceeds to decision step 404 to determine if the maximum signal channel (MAX_CH) is greater than the too high threshold (TOO_HIGH_THRESLD) for a first time period, such as 4 seconds. If the maximum signal channel is greater than too high threshold for more than 4 seconds, routine 400 proceeds to decision step 406 to determine if the maximum signal channel has reached its peak value and, if so, performs an instant positive recalibration of all positive signal channels that are greater than the zero threshold at step 408, prior to ending at step 418. If the maximum signal channel has not yet peaked, routine 400 will proceed to end step 418 where the routine 400 returns to the beginning of routine 400 to repeat the loop until the peak value is reached and instant recalibration is performed.

If the maximum signal channel is not greater than the too high threshold for greater than the first time period of 4 seconds, routine 400 proceeds to decision step 410 to process the negative signal count signals. Decision step 410 includes determining if the maximum channel is less than the too low threshold (TOO_LOW_THRESLD) for greater than a second time period, such as 1 second. If the maximum channel is less than the too low threshold for greater than the second time period of 1 second, then routine 400 proceeds to decision step 412 to determine if the maximum signal channel is bottomed out and, if so, proceeds to decision step 414 to determine if all signal channels are less than the negative threshold (NEG_THRESLD). If the maximum channel is less than the too low threshold for more than 1 second and the maximum signal channel is bottomed out and all channels are less than the negative threshold, then routine 400 proceeds to perform an instant negative recalibration of all signal channels at step 416 before ending at step 418. The instant positive and negative recalibration steps 408 and 416 include adjusting the Δ count value of all signal channels to a value of zero, according to one embodiment. If any of decision blocks 410, 412, and 414 results in a negative decision, then routine 400 ends at step 418 which returns to the beginning of routine 400 to repeat the routine steps.

The processing of the real-time calibration routine 500 is illustrated in FIG. 25 beginning at step 502. Routine 500 proceeds to decision step 504 to determine if a skip calibration timer (SKIP_CALIB_TIMER) is greater than zero and, if so, decreases the skip calibration timer such as by a time decrement at step 506, prior to ending at step 530. If the skip calibration timer is not greater than zero, routine 500 proceeds to decision step 508 to determine if the skip calibration flag (SKIP_CALIB_FLAG) is set and, if so, proceeds to decision step 510 to determine if the maximum channel is not active. If the maximum channel is not active, routine 500 proceeds to reset the skip calibration flag at step 512 before proceeding to decision step 524. If the maximum channel is active, routine 500 proceeds to decision step 514 to determine if a time period Delta time elapsed since the last calibration, and if not, ends at step 530. If the Delta time has elapsed since the last calibration, routine 500 proceeds to calculate a Delta reference (DELTA_REF) to add to the reference signal at step 516 and to calculate the Delta signal channel (DELTA_CH) as the difference in the signal between the current signal channel and the prior signal channel at step 518. Thereafter, routine 500 proceeds to decision step 520 to determine if the Delta channel is greater than the Delta reference and, if so, ends at step 530. If the Delta channel is not greater than the Delta reference, routine 500 proceeds to step 522 to set the reference equal to a reference summed with the Delta reference prior to ending at step 530.

At decision step 524, routine 500 determines if the rate flag is set and, if so, proceeds to set the skip calibration flag at step 526 and sets the skip calibration timer to a value NS at step 528, prior to ending at step 530. If the rate calibration flag is not set, routine 500 proceeds to decision step 514. At end step 530, routine 500 returns to the beginning to repeat the routine steps.

Referring to FIGS. 26A and 26B, Δ sensor count values for five signal channels associated with five proximity switches are illustrated during an instant positive recalibration according to the instant calibration routine. In this example, the five signal channels are shown labeled signals 550A-550E, each of which is shown midway having positive signals that rise up due to condensation changes on the proximity switch assembly. The largest signal channel 550A is shown exceeding the too high threshold for a first or positive time period labeled T_(P) and reaching a peak value at point 560. Once the largest signal channel 550A is above the too high threshold for time period T_(P) of four seconds and reaches its peak value at point 560 as shown in FIG. 26B, all signal channels that are positive are instantly recalibrated to zero as shown by line 570. As a result, the effects of changes in condensation are quickly zeroed out due to the instant positive recalibration, thereby allowing for use of the proximity switch assembly without further delay due to a locked out state. The ongoing real-time drift compensation may further provide added ultra-fast drift compensation, thereby further reducing any potential lockout time.

The immediate negative recalibration is illustrated in the graphs shown in FIGS. 27A and 27B for five signal channels that experience negative Δ sensor counts due to a change in condensation. The five signal channels 650A-650E are all shown having signal values that drop from zero to negative values due to change in condensation experienced by the proximity switches. When all signal channels are negative and the lowest signal channel 650B drops below the too low threshold for a second or negative time period T_(N) and the lowest signal channel 650B has reached its bottom at point 660, all signal channels 650A-650E are instantly recalibrated back to zero as shown by line 670 in FIG. 27B. Waiting for the bottom value in the lowest signal channel or the peak value in the highest signal channel prevents a situation in which a quick succession of recalibration signals may otherwise result in signal spikes. Instant negative recalibration advantageously reduces the time that the switches may be locked out due to changes in condensation. It should be appreciated that the instant negative calibration routine may be supplemented with the ultra-fast drift compensation which may further reduce the time of any switch lockout.

Accordingly, the proximity switch assembly and method of calibrating a proximity switch advantageously employ a calibration routine that recalibrates the signals to thereby avoid undue delay caused by lockout due to condensation changes. The calibration routine may be employed in combination with the rate monitoring routine or may be employed separate to avoid the problems associated with changes in condensation, thereby providing the user with an efficiently and responsive proximity switch assembly.

The proximity switch assembly and method may further employ a method for tuning a proximity sensor or a plurality of proximity sensors to provide for enhanced user interaction, particularly when the user is wearing a glove covering the hand and finger digits, such as when operating in the glove mode. As described above, the proximity sensors generate activation fields and a signal is generated in response to each activation field for each signal channel associated with each proximity switch. The signal associated with each signal channel may include noise that may vary depending upon interrupting sources such as other electronic devices within the vehicle. When the noise increases in amplitude, it may generate unwanted activations, particularly when a fixed activation threshold level is set low enough to guarantee operation when wearing thicker gloves. To overcome these drawbacks, the proximity switch assembly may employ a method of tuning a proximity sensor based on a real-time estimate of the noise level. The activation release threshold may be continuously adjusted to be equal to fixed multiplication factors of the estimated noise level. The multiplication factors generally will be larger than a value of 1.0, according to one embodiment. Generally, a higher multiplier will provide better noise immunity and a lower multiplier will provide more sensitivity to presses by the user wearing a thicker glove.

The proximity sensor assembly may include a proximity sensor providing an activation field and generating a signal, and control circuitry for processing the signal. The control circuitry and the method may include generating an activation field with a proximity sensor and generating a signal in response to the activation field. The method may include detecting noise associated with the signal, and adjusting a parameter based on the detected noise. The parameter is used to detect a proximity state of the sensor. In one embodiment, the method detects the amplitude of the signal exceeding a threshold and detects activation of a proximity switch when the signal amplitude exceeds the threshold. The detected noise may be an estimated noise that is multiplied by the parameter as a multiplier. The estimated noise may be determined by calculating noise as the difference between a maximum signal amplitude and a minimum signal amplitude within each of a plurality of ranges, wherein the lowest calculated noise is used as the estimated noise. The tuning method may tune a proximity sensor such as a capacitive sensor. It should be further appreciated that the tuning may apply to a proximity switch, such as the type employing one or more capacitive sensors. While a proximity switch assembly having one or more capacitive sensors is shown and described herein, it should be appreciated that the proximity sensor may include other types of sensing arrangements.

With reference to FIG. 28, one example of noise-dependent threshold tuning of one or more proximity switches is illustrated. When large noise is present, the threshold may be increased too high so that no glove activation is possible; however, unwanted activations triggered by noise may be prevented and the naked finger activations remain operational. In this example, the signal 50 associated with a proximity switch signal channel is shown having different amounts of noise. For a low noise level, a low first threshold A may be employed. For a middle noise level, a second medium threshold B may be employed. For a third greater noise level, a third high threshold level C may be employed. When a large noise level is detected on the signal 50, the threshold may be set high so that no gloved activation is possible, but unwanted activation is triggered by noise will advantageously be prevented.

The noise estimation may be performed by one or more processors or other control circuitry and may be implemented in real-time. The tuning method provides an update of the noise estimate within time period T_(NE) as shown in FIG. 29. Each time period T_(NE) is broken into a plurality of equally sized partial noise estimate time periods T_(IE), such as is shown by five (5) time periods T_(IE) labelled ranges 1-5. For each partial noise estimate time period T_(IE), the minimum signal C_(min) and maximum signal C_(max) signal levels are obtained and the noise partial range estimate N_(PRE) is calculated as the difference therebetween as shown in the following equation: N_(pre)=C_(max)−C_(min).

For each time period T_(NE), the smallest value of the noise partial range estimates N_(pre) (1-5) is determined, and is used as the current noise range estimate N_(re). As such, the current (i) noise range estimate N_(re)=Min N_(pre(i)) for the given time period T_(NE). In FIG. 29, the noise estimate within a plurality of ranges is shown determined by taking the difference between the max signal (max) and the minimum signal (min). As such, in range (1), the max signal C_(max) within that range minus the min signal C_(min) within that range is computed as the noise partial range estimate N_(pre)(1) for range (1). This process is repeated for each of ranges 2, 3, 4 and 5, etc. to determine the respective noise partial range estimates N_(pre)(2), N_(pre)(3), N_(pre)(4), N_(pre)(5), etc. In one example, the partial time period T_(IE) may be set equal to one second and ten consecutive time periods over ten ranges may be analyzed for the time period T_(IE) at about ten seconds. Each partial time period T_(IE) within ranges 1-5 are processed and the respective partial noise estimates N_(pre) are computed as the difference between the maximum signal C_(max) and minimum signal C_(min) values, and the minimum partial noise estimate value N_(pre) value from all of the ranges within time period T_(IE) is determined and used as the estimated noise N_(re). The estimated error N_(re) may then be used to adjust one or more parameters that detect a proximity state so as to tune the proximity sensor or to tune a plurality of proximity sensors. The tuning of the proximity sensor(s) may include multiplying the estimated noise N_(re) by a multiplier to provide the active threshold that is used to determine activation of the proximity switch. As such, the activation threshold is thereby actively changed based upon the detected estimated noise level N_(re).

In addition to adjusting the active threshold as one of the parameters, the noise estimate may also be employed to adjust other parameters to adjust the range value for what constitutes a stable range press, to adjust the release threshold, to adjust the calibration rate, and to adjust the rate monitoring threshold. The rate monitoring and fast calibration scheme may compensate for a very sensitive implementation when the signal-to-noise ratio (SNR) is particularly high. When this occurs, the user's finger moving in proximity to the proximity sensor might generate enough change in the capacitance to cross the activation threshold. The fast calibration and rate monitoring may allow only signals changing rapidly enough to constitute a valid press. Additionally, a stable range may be set as tight as possible as the current noise level condition allows, thus making the exploration more robust.

Referring to FIG. 30, a routine 700 for generating the noise estimate and using the noise estimate as a multiplier to adjust the tuning of the proximity sensor is illustrated. Routine 700 begins at step 702 and proceeds to each of steps 704, 706 and 708 before ending at step 714. At step 704, routine 700 performs press detection of the proximity sensor(s). At step 706, routine 700 performs rate monitoring of the proximity sensor. At step 708, routine 700 performs a calibration of the proximity sensor assembly. The steps of press detection 704, rate monitoring 706, and calibration 708 may be performed as described herein for detecting activation of a proximity switch and for monitoring the rate and performing a calibration of the proximity switch assembly.

In addition, routine 700 includes step 710 of estimating the noise estimate shown by value N_(re). After estimating the noise N_(re), the estimated noise N_(re) is employed in step 712 as a multiplier to adjust various parameters that may be employed in the proximity sensor assembly to detect a proximity state. The noise estimate N_(re) is employed as a multiplier to tune the active threshold value used in determining activation of a proximity sensor or a plurality of proximity sensors as shown by equation n1×N_(re), where n1 is a threshold constant value. The noise estimate N_(re) is also employed as a multiplier to tune the release threshold value as shown by equation n½×N_(re). As such, the release threshold is one-half the value of the active threshold, in this example. The release threshold value may be the level release value LVL_release that is compared to the active channel in decision step 142 of FIG. 16. Further, the noise estimate N_(re) is employed as a multiplier to adjust the tuning of the stable range shown by equation n3×N_(re), where n3 is a stable range constant. The stable range may be the stable amplitude range over which a stable signal is determined during time period t_(stable). Further, the noise estimate N_(re) is employed as a multiplier to adjust the calibration rate shown by equation N_(re)/100 milliseconds. The calibration rate may be the DELTA_REF shown in step 520 of FIG. 25. Finally, the noise estimate N_(re) is employed to tune the rate monitoring threshold as shown by equation n4×N_(re), where n4 is a rate monitoring constant. The rate monitoring threshold may be the valid activation rate or the 1 step rate shown in steps 304 and 306 of FIG. 23, according to one embodiment. After tuning the proximity sensor assembly, routine 700 proceeds to end at step 714.

Referring to FIG. 31, a routine 720 for estimating the partial noise estimate N_(pre)(is) is illustrated. Routine 720 begins at step 722 to begin the estimation of the partial noise estimate N_(pre)(is), where (is) is the range value. Next, at step 724, method 720 sets the signal value C_(min) equal to a maximum signal value (max), sets the signal value C_(max) equal to the negative of the maximum signal value (−max), and sets parameter ic equal to zero. Value (ic) is the time counter in each range T_(NE). Next, at step 726, method 720 acquires new signal value C(ic). Proceeding to decision step 728, routine 720 determines if the current signal C(ic) is less than the minimum signal value C_(min) and, if so, proceeds to step 730 to set the minimum signal value C_(min) equal to the current signal value C(ic). If the current signal C(ic) is not less than the minimum signal C_(min), routine 720 proceeds to decision step 732 to determine if the current signal C(ic) is greater than the maximum signal C_(max) and, if so, sets C_(max) equal to the current signal C(ic) at step 734. Otherwise, routine 720 proceeds to step 736 to increment counter ic by a value of 1. Next, routine 720 proceeds to decision step 738 to determine if the count value ic is less than the total count for the time period T_(NE) and, if so, returns to step 726. If count value ic is not less than the total ic count (ic_tot) indicative that the all ranges within time period T_(NE) have been processed, then routine 720 proceeds to step 740 to compute the partial noise estimate N_(pre) for each of ranges (is) as a function of the difference between the maximum signal C_(max) and the minimum signal C_(min) within each range, prior to ending at step 742.

Referring to FIG. 32, a routine 750 for estimating the noise N_(re) based on the partial noise estimates N_(pre) is shown. Routine 750 begins at step 752 and proceeds to step 754 to set a temporary range estimate N_(TMP) _(_) _(RE) equal to a max value and to set parameter (is) equal to one (1). Value (is) is the pointer to each individual range T_(NE). Next, at step 756, routine 750 estimates the partial noise estimate N_(pre) for each of ranges (is). At decision step 758, routine 750 determines if the partial range estimate N_(pre)(is) for the current range (is) is less than the temporary range estimate N_(TMP) _(_) _(RE) and, if so, sets the temporary range estimate N_(TMP) _(_) _(RE) equal to the current partial noise range estimate N_(pre) for range (is). Routine 750 proceeds to step 762 to increment the counter (is) by a value of 1. Next, at decision step 764, routine 750 determines if count value (is) is less than or equal to the number of total partial ranges to be used, is_pre and, if not, returns to step 756. If value (is) is less than is_pre, then routine 750 proceeds to step 766 to set the noise estimate N_(re) equal to the temporary range estimate N_(TMP), and thereafter ends at step 768.

The proximity switch assembly and method therefore determines partial range estimates within each of the ranges using routine 720, and determines a noise estimate from the partial range estimates using routine 750. The noise range estimate 750 is then employed as a multiplier to adjust or tune the various parameters such as thresholds including the active threshold as shown in FIG. 30. In addition, the noise estimate N_(RE) may likewise be employed as a multiplier to adjust or tune other parameters including the release threshold, the stable range, the calibration rate, and the rate monitoring threshold as shown in FIG. 30. By determining the noise estimate, the proximity switch assembly and method advantageously provide for enhanced user interaction that avoids negative effects caused by noise.

It is to be understood that variations and modifications can be made on the aforementioned structure without departing from the concepts of the present invention, and further it is to be understood that such concepts are intended to be covered by the following claims unless these claims by their language expressly state otherwise. 

What is claimed is:
 1. A method of tuning a proximity sensor comprising: generating an activation field with a proximity sensor; generating a signal in response to the activation field; detecting noise associated with the signal based on a difference between maximum and minimum amplitudes of the signal within each of a plurality of ranges; adjusting a threshold based on the detected noise; and detecting activation of a proximity switch when the amplitude exceeds the threshold.
 2. The method of claim 1, wherein the detected noise is a value that is multiplied by the threshold.
 3. The method of claim 1, wherein the step of detecting noise comprises estimating the noise associated with the signal.
 4. The method of claim 3, wherein a lowest calculated noise is used as the estimated noise.
 5. The method of claim 1, wherein the method comprises generating an activation field for each of a plurality of proximity sensors and generating a signal for each of the plurality of proximity sensors, wherein the step of adjusting comprises adjusting the threshold associated with each of the plurality of signals.
 6. The method of claim 1, wherein the proximity switch is installed on a vehicle for use by a passenger in the vehicle.
 7. The method of claim 1, wherein the parameter is used to detect activation of a proximity switch.
 8. The method of claim 7, wherein the proximity switch comprises a capacitive switch comprising one or more capacitive sensors.
 9. A proximity sensor assembly comprising: a proximity sensor providing an activation field and generating a signal; and control circuitry generating a signal in response to the activation field, detecting noise as a difference between maximum and minimum amplitudes of the signal, adjusting a threshold based on the detected noise, and detecting the amplitude exceeding the threshold to detect a proximity state.
 10. The proximity sensor assembly of claim 9, wherein the detected noise is a value that is multiplied by the threshold.
 11. The proximity sensor assembly of claim 9, wherein the step of detecting noise comprises estimating the noise associated with the signal.
 12. The proximity sensor assembly of claim 11, wherein the step of estimating the noise comprises calculating the noise as the difference between the maximum signal amplitude and a minimum signal amplitude within each of a plurality of ranges, wherein the lowest calculated noise is used as the estimated noise.
 13. The proximity sensor assembly of claim 9, wherein the assembly comprises a plurality of proximity sensors for generating an activation field and the control circuitry generates a signal for each of the plurality of proximity sensors and adjusts the threshold associated with each of the plurality of signals.
 14. The proximity sensor assembly of claim 9, wherein the control circuitry detects activation of a proximity switch based on the threshold.
 15. The proximity sensor assembly of claim 14, wherein the proximity switch comprises a capacitive switch comprising one or more capacitive sensors.
 16. The proximity sensor assembly of claim 15, wherein the proximity switch is installed on a vehicle for use by a passenger in the vehicle. 